package com.zone.domain.strategy.model.valobj;

/**
 * @author: zongzi
 * @description: 规则相关枚举
 * @date: 2025/3/6
 */
public class RuleEnums {

    /**
     * 抽奖规则类型；1-策略规则、2-奖品规则
     */
    public enum RuleTypeEnum {
        STRATEGY("1", "策略规则"),
        AWARD("2", "奖品规则"),
        ;

        private final String code;
        private final String desc;

        RuleTypeEnum(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public final String getCode() {
            return code;
        }

        public final String getDesc() {
            return desc;
        }
    }

    /**
     * @author: zongzi
     * @description: 规则模型枚举
     * @date: 2024/5/30
     */
    public enum RuleModelEnum {
        RULE_WEIGHT("rule_weight", "权重"),
        RULE_BLACKLIST("rule_blacklist", "黑名单"),
        RULE_LOCK("rule_lock", "抽奖x次后解锁"),
        TREE("tree", "规则树（奖品过滤走规则树）"),
        ;

        private final String code;
        private final String desc;

        RuleModelEnum(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public final String getCode() {
            return code;
        }

        public final String getDesc() {
            return desc;
        }
    }
}
